<template>
  <div class="icon-svg" :style="{ width: size + 'px', height: size + 'px' }">
    <!-- 基础图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-if="name === 'box'">
      <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm0 16H5V5h14v14z"/>
      <path d="M7 12h10v2H7z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'tag'">
      <path d="M21.41 11.58l-9-9C12.05 2.22 11.55 2 11 2H4c-1.1 0-2 .9-2 2v7c0 .55.22 1.05.59 1.42l9 9c.36.36.86.58 1.41.58s1.05-.22 1.41-.59l7-7c.37-.36.59-.86.59-1.41s-.23-1.06-.59-1.42zM5.5 7C4.67 7 4 6.33 4 5.5S4.67 4 5.5 4 7 4.67 7 5.5 6.33 7 5.5 7z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'calendar'">
      <path d="M19 4h-1V2h-2v2H8V2H6v2H5c-1.11 0-1.99.9-1.99 2L3 20c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 16H5V10h14v10zm0-12H5V6h14v2zM7 14c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1zm4 0c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1zm4 0c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'star'">
      <path d="M12 17.27L18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'folder'">
      <path d="M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8l-2-2z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'pin'">
      <path d="M16 9V4h1c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1h1v5c0 1.66-1.34 3-3 3v2h5.97v7l1 1 1-1v-7H19v-2c-1.66 0-3-1.34-3-3z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'key'">
      <path d="M12.65 10C11.83 7.67 9.61 6 7 6c-3.31 0-6 2.69-6 6s2.69 6 6 6c2.61 0 4.83-1.67 5.65-4H17v4h4v-4h2v-4H12.65zM7 14c-1.1 0-2-.9-2-2s.9-2 2-2 2 .9 2 2-.9 2-2 2z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'wallet'">
      <path d="M21 18v1c0 1.1-.9 2-2 2H5c-1.11 0-2-.9-2-2V5c0-1.1.89-2 2-2h14c1.1 0 2 .9 2 2v1h-9c-1.11 0-2 .9-2 2v8c0 1.1.89 2 2 2h9zm-9-2h10V8H12v8zm4-2.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'gift'">
      <path d="M20 6h-2.18c.11-.31.18-.65.18-1 0-1.66-1.34-3-3-3-1.05 0-1.96.54-2.5 1.35l-.5.67-.5-.68C10.96 2.54 10.05 2 9 2 7.34 2 6 3.34 6 5c0 .35.07.69.18 1H4c-1.11 0-1.99.89-1.99 2L2 19c0 1.11.89 2 2 2h16c1.11 0 2-.89 2-2V8c0-1.11-.89-2-2-2zm-5-2c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zM9 4c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm11 15H4v-2h16v2zm0-5H4V8h5.08L7 10.83 8.62 12 12 7.4l3.38 4.6L17 10.83 14.92 8H20v6z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'heart'">
      <path d="M12 21.35l-1.45-1.32C5.4 15.36 2 12.28 2 8.5 2 5.42 4.42 3 7.5 3c1.74 0 3.41.81 4.5 2.09C13.09 3.81 14.76 3 16.5 3 19.58 3 22 5.42 22 8.5c0 3.78-3.4 6.86-8.55 11.54L12 21.35z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'headphone'">
      <path d="M12,1C7.03,1,3,5.03,3,10v7c0,1.66,1.34,3,3,3h2v-8H5v-2c0-3.87,3.13-7,7-7s7,3.13,7,7v2h-3v8h2c1.66,0,3-1.34,3-3v-7C21,5.03,16.97,1,12,1z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'camera'">
      <path d="M9,2L7.17,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6c0-1.1-0.9-2-2-2h-3.17L15,2H9z M12,17c-2.76,0-5-2.24-5-5s2.24-5,5-5s5,2.24,5,5S14.76,17,12,17z"/>
      <circle cx="12" cy="12" r="3"/>
    </svg>
    
    <!-- 首饰类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'ring'">
      <path d="M12,10L8,4.4L9.6,3h4.8L16,4.4L12,10z M15,2H9L6.5,4.5l4.5,7.5v8h2v-8l4.5-7.5L15,2z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'diamond'">
      <path d="M12,3L2,12l10,9l10-9L12,3z M12,17.5L4.5,12L12,6.5l7.5,5.5L12,17.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'earrings1'">
      <path d="M8,3C6.34,3,5,4.34,5,6c0,1.3,0.84,2.4,2,2.82V14c0,1.1,0.9,2,2,2h1c1.1,0,2-0.9,2-2V8.82c1.16-0.41,2-1.51,2-2.82 C14,4.34,12.66,3,11,3H8z"/>
      <path d="M16,3c-1.66,0-3,1.34-3,3c0,1.3,0.84,2.4,2,2.82V14c0,1.1,0.9,2,2,2h1c1.1,0,2-0.9,2-2V8.82c1.16-0.41,2-1.51,2-2.82 C22,4.34,20.66,3,19,3H16z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'necklace'">
      <path d="M12 22c4.97 0 9-4.03 9-9s-4.03-9-9-9-9 4.03-9 9 4.03 9 9 9zm0-16c3.86 0 7 3.14 7 7s-3.14 7-7 7-7-3.14-7-7 3.14-7 7-7zm-1 6v4h2v-4h-2zm0-3v2h2V9h-2z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'bracelet'">
      <path d="M4 12c0 4.42 3.58 8 8 8s8-3.58 8-8-3.58-8-8-8-8 3.58-8 8zm2 0c0-3.31 2.69-6 6-6s6 2.69 6 6-2.69 6-6 6-6-2.69-6-6z"/>
      <path d="M15 12H9v2h6v-2z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'earrings'">
      <path d="M7 4v2c0 2.76-2.24 5-5 5v2c3.86 0 7-3.14 7-7V4zm10 0v2c0 2.76 2.24 5 5 5v2c-3.86 0-7-3.14-7-7V4z"/>
      <circle cx="7" cy="14" r="2"/>
      <circle cx="17" cy="14" r="2"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'crown'">
      <path d="M5 16L3 5l5.5 5L12 4l3.5 6L21 5l-2 11H5zm14.5 3c-.83 0-1.5-.67-1.5-1.5 0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5c0 .83-.67 1.5-1.5 1.5zM4.5 19c-.83 0-1.5-.67-1.5-1.5C3 16.67 3.67 16 4.5 16s1.5.67 1.5 1.5c0 .83-.67 1.5-1.5 1.5z"/>
    </svg>
    
    <!-- 美妆类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'lipstick'">
      <path d="M9,22h6c0.55,0,1-0.45,1-1V12h-8v9C8,21.55,8.45,22,9,22z"/>
      <path d="M12,5V2C9.85,2,8.1,3.38,7.33,5.35C8.19,6.29,9.51,7,11,7h3C13.99,7.01,14,6.74,14,6.5C14,5.67,13.33,5,12.5,5H12z"/>
      <path d="M14,7.59c0,0-0.01,0-0.01,0C12.59,7.59,11.5,8.39,11.5,9l-1.41,2.41h3.82L12.5,9C13.71,9,14,7.59,14,7.59z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'perfume'">
      <path d="M16,14.5c0,0.83-0.67,1.5-1.5,1.5h-5C8.67,16,8,15.33,8,14.5v-1H16V14.5z"/>
      <path d="M12,2c1.1,0,2,0.9,2,2h-4C10,2.9,10.9,2,12,2z"/>
      <path d="M16,5c0-0.55-0.45-1-1-1h-1V3c0-0.55-0.45-1-1-1h-2C10.45,2,10,2.45,10,3v1H9C8.45,4,8,4.45,8,5v1h8V5z"/>
      <path d="M18,10H6c-1.1,0-2,0.9-2,2v7c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-7C20,10.9,19.1,10,18,10z M16,16.5 c0,0.83-0.67,1.5-1.5,1.5h-5C8.67,18,8,17.33,8,16.5v-3c0-0.83,0.67-1.5,1.5-1.5h5c0.83,0,1.5,0.67,1.5,1.5V16.5z"/>
    </svg>
    
    <!-- 厨具类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'knife'">
      <path d="M18.88,4.38L18.88,4.38c-0.58-0.7-1.17-1.11-1.88-1.11c-0.7,0-1.39,0.44-1.89,0.89L3.7,16.59c-0.65,0.65-0.75,1.38-0.28,2.28 l0.69,1.09c0.55,0.88,1.47,1.1,2.4,0.6L19.79,8.62c1.21-0.81,1.33-1.23,1.4-1.64C21.3,6.26,20.76,4.66,18.88,4.38z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'pot'">
      <path d="M20,10h-2V7c0-1.1-0.9-2-2-2H8C6.9,5,6,5.9,6,7v3H4c-1.1,0-2,0.9-2,2v5c0,1.1,0.9,2,2,2h1v1c0,1.1,0.9,2,2,2h10 c1.1,0,2-0.9,2-2v-1h1c1.1,0,2-0.9,2-2v-5C22,10.9,21.1,10,20,10z M8,7h8v3H8V7z M17,19H7v-2c0-0.55,0.45-1,1-1h8 c0.55,0,1,0.45,1,1V19z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'pan'">
      <path d="M12 5c-4.42 0-8 1.79-8 4v1h16V9c0-2.21-3.58-4-8-4z"/>
      <path d="M21 16.81V11H3v5.81c0 1.85 3.27 3.45 7.61 3.94l.39.05.39-.05C15.73 20.26 19 18.66 19 16.81v0h2v0c0 1.85 3.27 3.45 7.61 3.94l.39.05.39-.05C15.73 20.26 19 18.66 19 16.81z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'plate'">
      <path d="M12,2C6.48,2,2,6.48,2,12s4.48,10,10,10s10-4.48,10-10S17.52,2,12,2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-5-9h10v2H7z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'cup'">
      <path d="M18,4h-1v7c0,1.1-0.9,2-2,2H5c-1.1,0-2-0.9-2-2V4H2C1.45,4,1,4.45,1,5v10c0,1.1,0.9,2,2,2h14c1.1,0,2-0.9,2-2V5 C19,4.45,18.55,4,18,4z M16,11c0,0.55-0.45,1-1,1s-1-0.45-1-1V4h2V11z"/>
      <path d="M13,2H7C6.45,2,6,2.45,6,3v8c0,0.55,0.45,1,1,1h6c0.55,0,1-0.45,1-1V3C14,2.45,13.55,2,13,2z"/>
    </svg>
    
    <!-- 家电类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'refrigerator'">
      <path d="M6,2h12c1.1,0,2,0.9,2,2v16c0,1.1-0.9,2-2,2H6c-1.1,0-2-0.9-2-2V4C4,2.9,4.9,2,6,2z M6,4v6h12V4H6z M6,12v8h12v-8H6z M8,6h2v3H8V6z M8,15h2v3H8V15z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'washing-machine'">
      <path d="M20,4H4C2.9,4,2,4.9,2,6v12c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V6C22,4.9,21.1,4,20,4z M20,18H4V6h16V18z M7,9c0-1.66,1.34-3,3-3s3,1.34,3,3s-1.34,3-3,3S7,10.66,7,9z M18,16c0-2.63-3.13-3.5-5-3.5c-1.87,0-5,0.87-5,3.5H18z"/>
      <circle cx="10" cy="9" r="2"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'microwave'">
      <path d="M4,5h16c0.55,0,1,0.45,1,1v12c0,0.55-0.45,1-1,1H4c-0.55,0-1-0.45-1-1V6C3,5.45,3.45,5,4,5z M22,6v12 c0,1.1-0.9,2-2,2H4c-1.1,0-2-0.9-2-2V6c0-1.1,0.9-2,2-2h16C21.1,4,22,4.9,22,6z M20,17H4V7h16V17z M8,9h8v2H8V9z M8,12h8v2H8V12z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'tv'">
      <path d="M21,3H3C1.9,3,1,3.9,1,5v12c0,1.1,0.9,2,2,2h5v2h8v-2h5c1.1,0,2-0.9,2-2V5C23,3.9,22.1,3,21,3z M21,17H3V5h18V17z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'air-conditioner'">
      <rect x="4" y="5" width="16" height="7" rx="1" fill="white" stroke="currentColor" stroke-width="2"/>
      <path d="M6 12v3" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M12 12v3" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M18 12v3" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M2 16h20" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M5 20h2" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M17 20h2" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'desk-lamp'">
      <path d="M5 22h14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M7 22v-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M17 22v-6" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M12 16v-7" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M6 8.5h12l-2.5-6.5h-7l-2.5 6.5z" fill="white" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'electric-fan'">
      <circle cx="12" cy="12" r="9" fill="white" stroke="currentColor" stroke-width="2"/>
      <circle cx="12" cy="12" r="3" fill="white" stroke="currentColor" stroke-width="2"/>
      <path d="M12 3v6" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M21 12h-6" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M12 21v-6" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M3 12h6" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'power-socket'">
      <rect x="2" y="5" width="20" height="14" rx="1" fill="white" stroke="currentColor" stroke-width="2"/>
      <circle cx="7" cy="12" r="2" fill="white" stroke="currentColor" stroke-width="2"/>
      <circle cx="17" cy="12" r="2" fill="white" stroke="currentColor" stroke-width="2"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'refrigerator-vertical'">
      <rect x="5" y="2" width="14" height="20" rx="1" fill="white" stroke="currentColor" stroke-width="2"/>
      <path d="M5 11h14" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M8.5 6.5v0.01" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M8.5 15.5v0.01" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'monitor'">
      <rect x="2" y="4" width="20" height="13" rx="1" fill="white" stroke="currentColor" stroke-width="2"/>
      <path d="M7 21h10" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M12 17v4" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'vacuum-cleaner'">
      <path d="M5 14h15l4 4h3v4h-4l-4-4v-4h-15v-5l-3-3l3-3v5z" fill="white" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <circle cx="9" cy="14" r="2" fill="white" stroke="currentColor" stroke-width="2"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'hair-dryer'">
      <path d="M9 5h15v9h-15l-4 4v-8l4-5z" fill="white" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M19 9h3v1h-3" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
      <path d="M9 5v-3h3v3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M12 14h3" stroke="currentColor" stroke-width="2" stroke-linecap="round"/>
    </svg>
    
    <!-- 交通类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'car'">
      <path d="M18.92,6.01C18.72,5.42,18.16,5,17.5,5h-11c-0.66,0-1.21,0.42-1.42,1.01L3,12v8c0,0.55,0.45,1,1,1h1c0.55,0,1-0.45,1-1v-1 h12v1c0,0.55,0.45,1,1,1h1c0.55,0,1-0.45,1-1v-8L18.92,6.01z M6.85,7h10.29l1.08,3.11H5.77L6.85,7z M19,17H5v-5h14V17z"/>
      <circle cx="7.5" cy="14.5" r="1.5"/>
      <circle cx="16.5" cy="14.5" r="1.5"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'bicycle'">
      <path d="M15.5,5.5c1.1,0,2-0.9,2-2s-0.9-2-2-2s-2,0.9-2,2S14.4,5.5,15.5,5.5z M5,12c-2.8,0-5,2.2-5,5s2.2,5,5,5s5-2.2,5-5 S7.8,12,5,12z M5,20.5c-1.9,0-3.5-1.6-3.5-3.5s1.6-3.5,3.5-3.5s3.5,1.6,3.5,3.5S6.9,20.5,5,20.5z M19,12c-2.8,0-5,2.2-5,5 s2.2,5,5,5s5-2.2,5-5S21.8,12,19,12z M19,20.5c-1.9,0-3.5-1.6-3.5-3.5s1.6-3.5,3.5-3.5s3.5,1.6,3.5,3.5S20.9,20.5,19,20.5z M12,11.5V13h3v2h-3v2h3v2h-3V21h-2v-1.5h-3v-2h3v-2h-3v-2h3V11.5H12z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'bike'">
      <circle cx="5" cy="17" r="2.5" stroke="currentColor" stroke-width="2"/>
      <circle cx="19" cy="17" r="2.5" stroke="currentColor" stroke-width="2"/>
      <path d="M5 17h14" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M7 7h5l3 5l2-5h3" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M12 7v10" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
    </svg>
    
    <!-- 数码图标扩展 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'smartphone'">
      <path d="M17,1.01L7,1C5.9,1,5,1.9,5,3v18c0,1.1,0.9,2,2,2h10c1.1,0,2-0.9,2-2V3C19,1.9,18.1,1.01,17,1.01z M17,19H7V5h10V19z"/>
      <path d="M12,16c0.83,0,1.5-0.67,1.5-1.5S12.83,13,12,13s-1.5,0.67-1.5,1.5S11.17,16,12,16z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'laptop'">
      <path d="M20,18c1.1,0,2-0.9,2-2V6c0-1.1-0.9-2-2-2H4C2.9,4,2,4.9,2,6v10c0,1.1,0.9,2,2,2H0v2h24v-2H20z M4,6h16v10H4V6z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'tablet'">
      <path d="M21,4H3C1.9,4,1,4.9,1,6v12c0,1.1,0.9,2,2,2h18c1.1,0,2-0.9,2-2V6C23,4.9,22.1,4,21,4z M21,18H3V6h18V18z"/>
      <circle cx="12" cy="15" r="1"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'desktop'">
      <path d="M21,2H3C1.9,2,1,2.9,1,4v12c0,1.1,0.9,2,2,2h7v2H8v2h8v-2h-2v-2h7c1.1,0,2-0.9,2-2V4C23,2.9,22.1,2,21,2z M21,16H3V4h18V16z"/>
    </svg>
    
    <!-- 服饰类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'tshirt'">
      <path d="M16,21H8c-1.1,0-2-0.9-2-2V9h2v10h8V9h2v10C18,20.1,17.1,21,16,21z"/>
      <path d="M7.2,2.5c0.2,0,0.5,0.1,0.7,0.3C9.1,4,10.5,4.5,12,4.5s2.9-0.5,4.1-1.7c0.4-0.4,1-0.4,1.4,0c0.4,0.4,0.4,1,0,1.4 C15.5,6.1,13.8,6.5,12,6.5c-1.9,0-3.7-0.5-5.7-2.3C6,3.9,5.9,3.4,6.2,3C6.4,2.7,6.8,2.5,7.2,2.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'pants'">
      <path d="M7,2L3,8v14h6v-9l1,3h4l1-3v9h6V8l-4-6H7z M9.5,8.5C9.5,9.33,8.83,10,8,10s-1.5-0.67-1.5-1.5S7.17,7,8,7S9.5,7.67,9.5,8.5z M17.5,8.5c0,0.83-0.67,1.5-1.5,1.5s-1.5-0.67-1.5-1.5S15.17,7,16,7S17.5,7.67,17.5,8.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'dress'">
      <path d="M8 3c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2v2H8V3zm8 4v16H8V7h8zm-2-1.5c.83 0 1.5-.67 1.5-1.5S14.83 2.5 14 2.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5zm-4 0c.83 0 1.5-.67 1.5-1.5S10.83 2.5 10 2.5s-1.5.67-1.5 1.5.67 1.5 1.5 1.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'skirt'">
      <path d="M17.7 7.3L12 2 6.3 7.3C7.7 7.7 8.5 9.2 8.5 10.8V20h7v-9.2c0-1.6.8-3.1 2.2-3.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'coat'">
      <path d="M19.78 6.36C18.97 5.55 17.8 5 16.5 5h-9C6.2 5 5.03 5.55 4.22 6.36L2 8.59V21h7v-2h6v2h7V8.59l-2.22-2.23zM13 14h-2v-2h2v2z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'socks'">
      <path d="M17.4 3H6.6C5.16 3 4 4.16 4 5.6V17l4 4h8l4-4V5.6C20 4.16 18.84 3 17.4 3zM15 12h-2v2H9v-2H7l3-3 3 3z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'scarf'">
      <path d="M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-1 16H6v-2h12v2zm0-4H6v-2h12v2zm0-4H6V7h12v4z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'shorts'">
      <path d="M8 3v3H5L3 8v11h7v-7l1-2h2l1 2v7h7V8l-2-2h-3V3H8zm-1.5 5h11L19 10v7h-3v-6l-1-2h-4l-1 2v6H5V10L6.5 8z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'clothes'">
      <path d="M16 2c0 .25-.03.5-.08.73-.19.91-.81 1.68-1.66 2.12-.52.27-1.11.42-1.73.43-.08 0-.15-.01-.23-.01h-.59c-.08 0-.15.01-.23.01-.62-.01-1.21-.16-1.73-.43-.85-.44-1.47-1.21-1.66-2.12A3.02 3.02 0 0 1 8 2c0-1.1.9-2 2-2h4c1.1 0 2 .9 2 2zM20 19v1c0 1.1-.9 2-2 2H6c-1.1 0-2-.9-2-2v-1l.98-6.21L3 13h18l-2 6h-3.62l.76 3H19l1-4z"/>
    </svg>

    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'shoes'">
      <path d="M21.5 13h-19A2.5 2.5 0 0 0 0 15.5V20a1 1 0 0 0 1 1h.5a.5.5 0 0 0 .5-.5V20h1v.5a.5.5 0 0 0 .5.5h1a.5.5 0 0 0 .5-.5V20h1v.5a.5.5 0 0 0 .5.5h9a.5.5 0 0 0 .5-.5V20h1v.5a.5.5 0 0 0 .5.5h.5a1 1 0 0 0 1-1v-4.5a2.5 2.5 0 0 0-2.5-2.5zM12 18c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm4 0c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1zm3.5-3h-15a2.5 2.5 0 0 0 0 5h15a2.5 2.5 0 0 0 0-5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'hat'">
      <path d="M12 3c-4.97 0-9 2.69-9 6 0 1.45.87 2.76 2.29 3.77.71.5 1.56.82 2.5 1.03.29-.58.92-.99 1.66-.99h5.1c.74 0 1.37.41 1.66.99.94-.21 1.8-.54 2.5-1.03C19.13 11.76 20 10.45 20 9c0-3.31-4.03-6-9-6z"/>
      <path d="M9.45 13.5h5.1c.41 0 .75.34.75.75v1c0 .41-.34.75-.75.75h-5.1c-.41 0-.75-.34-.75-.75v-1c0-.41.34-.75.75-.75z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'gloves'">
      <path d="M20.96 22H3.04C1.91 22 1 21.09 1 19.96V10c0-.55.45-1 1-1h7V6c0-2.21 1.79-4 4-4s4 1.79 4 4v3h7c.55 0 1 .45 1 1v9.96c0 1.13-.91 2.04-2.04 2.04zM12 4c-1.1 0-2 .9-2 2v3h4V6c0-1.1-.9-2-2-2zm8 7H4v2h16v-2zm-10 3H6v2h4v-2zm6 0h-4v2h4v-2z"/>
    </svg>
    
    <!-- 数码类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'computer'">
      <path d="M20 18c1.1 0 1.99-.9 1.99-2L22 6c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2H0v2h24v-2h-4zM4 6h16v10H4V6z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'phone'">
      <path d="M16 1H8C6.34 1 5 2.34 5 4v16c0 1.66 1.34 3 3 3h8c1.66 0 3-1.34 3-3V4c0-1.66-1.34-3-3-3zm-2 20h-4v-1h4v1zm3.25-3H6.75V4h10.5v14z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'watch'">
      <path d="M20 12c0-2.54-1.19-4.81-3.04-6.27L16 0H8l-.95 5.73C5.19 7.19 4 9.45 4 12s1.19 4.81 3.05 6.27L8 24h8l.96-5.73C18.81 16.81 20 14.54 20 12zM6 12c0-3.31 2.69-6 6-6s6 2.69 6 6-2.69 6-6 6-6-2.69-6-6z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'gamepad'">
      <path d="M15 7.5V2H9v5.5l3 3 3-3zM7.5 9H2v6h5.5l3-3-3-3zM9 16.5V22h6v-5.5l-3-3-3 3zM16.5 9l-3 3 3 3H22V9h-5.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'mouse'">
      <path d="M13 1.07V9h7c0-4.08-3.05-7.44-7-7.93zM4 15c0 4.42 3.58 8 8 8s8-3.58 8-8v-4H4v4zm7-13.93C7.05 1.56 4 4.92 4 9h7V1.07z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'keyboard'">
      <path d="M20 5H4c-1.1 0-1.99.9-1.99 2L2 17c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V7c0-1.1-.9-2-2-2zm-9 3h2v2h-2V8zm0 3h2v2h-2v-2zM8 8h2v2H8V8zm0 3h2v2H8v-2zm-1 2H5v-2h2v2zm0-3H5V8h2v2zm9 7H8v-2h8v2zm0-4h-2v-2h2v2zm0-3h-2V8h2v2zm3 3h-2v-2h2v2zm0-3h-2V8h2v2z"/>
    </svg>
    
    <!-- 工具类图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'hammer'">
      <path d="M19.4 10c-.7-.7-1.4-1.4-2.1-2.1-.7-.7-1-1.7-.7-2.5.4-.9 1.3-1.5 2.2-1.3.8.2 1.5.9 1.7 1.7.3 1-.2 2-.8 2.8.6-.1 1.2-.3 1.9-.4.7-.1 1.2.5 1.2 1.2 0 .6-.5 1.1-1.1 1.1-1.3.1-2.4.3-3.6.5-.7.2-1.4.4-2.1.6-.8.3-1.6.5-2.5.4-.5-.1-1.1-.6-1.1-1.1 0-.8.7-1.3 1.3-1.5.8-.2 1.6-.5 2.4-.7-.6-.6-1.2-1.1-1.7-1.8-1-1.1-.9-2.7.1-3.8.9-1 2.5-1.2 3.6-.3.9.8 1.2 2.3.8 3.4-.5 1.1-1.2 2-1.9 2.9 1.5-.5 2.9-.9 4.4-1.3 0 .5 0 1 0 1.4-.2.3-.4.5-.8.8z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 48 48" :fill="color" v-else-if="name === 'wrench'">
      <path d="M12.9563 14.9812C15.1187 12.0781 18.736 10 22.9999 10C27.2639 10 30.8812 12.0781 33.0436 14.9812C36.3606 19.3363 37.5877 25.2807 36.3069 30.609C35.026 35.9373 31.3976 40 26.9999 40H18.9999C14.6023 40 10.9739 35.9373 9.693 30.609C8.41223 25.2807 9.63928 19.3363 12.9563 14.9812Z" fill="none" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M19 4V10" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M27 4V10" stroke="currentColor" stroke-width="4" stroke-linecap="round" stroke-linejoin="round"/>
      <path d="M15 32L19 32" stroke="currentColor" stroke-width="4" stroke-linecap="round"/>
      <path d="M27 32L31 32" stroke="currentColor" stroke-width="4" stroke-linecap="round"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'screwdriver'">
      <path d="M18 1.83c-.5-.5-1.21-.5-1.71 0l-1.41 1.41c-.5.5-.5 1.21 0 1.71l1.06 1.06-2.47 2.47-.89-.89c-.39-.39-1.02-.39-1.41 0l-2.12 2.12c-.39.39-.39 1.02 0 1.41l.89.89-6 6c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0l5.3-5.3.89.89c.39.39 1.02.39 1.41 0l2.12-2.12c.39-.39.39-1.02 0-1.41l-.89-.89 2.47-2.47 1.06 1.06c.5.5 1.21.5 1.71 0l1.41-1.41c.5-.5.5-1.21 0-1.71l-2.83-2.83z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'pliers'">
      <path d="M10.5 11.5c-.8 0-1.5.7-1.5 1.5v7.8c0 .4-.5.6-.8.4L5 18V9.8c0-.6.2-1.4.8-1.9L9 5l.6-3h4.8l.6 3 3.2 2.9c.6.5.8 1.3.8 1.9V18l-3.2 3.2c-.3.3-.8 0-.8-.4v-7.8c0-.8-.7-1.5-1.5-1.5h-3z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'saw'">
      <path d="M6 22.5V16h12v-2H6v-2h12v-2H6v-2h12V6H6V4h12V2H6V4L4 6l1 4-1 4 2 2v6.5h.5l4-4 4 4h.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'ruler'">
      <path d="M21 6H3c-1.1 0-2 .9-2 2v8c0 1.1.9 2 2 2h18c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zM9 16H7v-2h2v2zm0-4H7v-2h2v2zm4 4h-2v-2h2v2zm0-4h-2v-2h2v2zm4 4h-2v-2h2v2zm0-4h-2v-2h2v2z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'tape-measure'">
      <path d="M4 19V5a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2zM19 5H5v14h14V5z"/>
      <path d="M7 7h2v10H7V7zm4 0h2v10h-2V7zm4 0h2v10h-2V7z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'scissors'">
      <path d="M8 4c1.5 0 3 .83 3 3 0 .17-.02.35-.05.5L19 15.5l-3.2 3.2-5.5-5.5c-.14.03-.33.05-.5.05-1.7 0-3-1.3-3-3 0-.79.3-1.5.8-2.05-.5-.55-.8-1.26-.8-2.05C6.8 4.83 8.3 4 9.8 4M3 7c0 .55.45 1 1 1s1-.45 1-1-.45-1-1-1-1 .45-1 1m6-2c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1m0 6c-.55 0-1 .45-1 1s.45 1 1 1 1-.45 1-1-.45-1-1-1"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'flashlight'">
      <path d="M9 15.9c0-.5.4-.9.9-.9h4.2c.5 0 .9.4.9.9v5.1c0 .5-.4.9-.9.9h-4.2c-.5 0-.9-.4-.9-.9v-5.1zm6-1.9c0-1.1-.9-2-2-2H11c-1.1 0-2 .9-2 2h6zm2-8H7v.7l2 2.6v.7H15v-.7l2-2.6V6z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'toolbox'">
      <path d="M20 8h-3V6c0-1.1-.9-2-2-2H9c-1.1 0-2 .9-2 2v2H4c-1.1 0-2 .9-2 2v10h20V10c0-1.1-.9-2-2-2zM9 6h6v2H9V6zm11 12H4v-5h2v2h2v-2h8v2h2v-2h2v5z"/>
    </svg>
    
    <!-- 玩具图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'robot'">
      <path d="M12 3c-.55 0-1 .45-1 1v2H5c-1.1 0-2 .9-2 2v4c0 1.1.9 2 2 2h1v1c0 1.1.9 2 2 2h1v3h2v-3h4v3h2v-3h1c1.1 0 2-.9 2-2v-1h1c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-6V4c0-.55-.45-1-1-1zm7 9c-1.66 0-3-1.34-3-3s1.34-3 3-3 3 1.34 3 3-1.34 3-3 3zm-12.7 1.5c-.39.39-1.02.39-1.41 0-.39-.39-.39-1.02 0-1.41l.35-.35c.39-.39 1.02-.39 1.41 0 .39.39.39 1.02 0 1.41l-.35.35z"/>
    </svg>
    
    <!-- 运动图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'basketball'">
      <path d="M17.09 11h4.86c-.16-1.61-.71-3.11-1.54-4.4-1.73.83-2.99 2.45-3.32 4.4zm-6.03 0V6.03c-1.61.16-3.11.71-4.4 1.53 1.09 1.96 2.97 3.23 4.4 3.44zm10.94 1c0 .55-.06 1.09-.16 1.61h-5.19c.14-2.27 1.63-4.1 3.68-4.88-.46-.66-.99-1.27-1.58-1.81-2.36 1.25-3.96 3.66-3.96 6.42s1.6 5.17 3.96 6.42c1.86-1.73 3.25-3.93 3.25-6.42 0-.48-.04-.95-.11-1.41.26 0 .52.03.79.05.01.11.02.22.02.34.01-.09 0 0 0 0zM12 22c-1.76 0-3.36-.61-4.65-1.61 1.37-.63 2.38-1.86 2.69-3.39h3.92c.31 1.53 1.32 2.76 2.69 3.39-1.29 1-2.89 1.61-4.65 1.61zm0-18c1.76 0 3.36.61 4.65 1.61-1.37.63-2.38 1.86-2.69 3.39H10.5c-.31-1.53-1.32-2.76-2.69-3.39C9.09 4.61 10.7 4 12 4zm5.09 9h4.86c.16-1.61.71-3.11 1.54-4.4-1.73-.83-2.99-2.45-3.32-4.4A9.008 9.008 0 0 0 11 3c0 .03-.01.05-.01.08 0-.03.01-.05.01-.08 0 .36.03.72.08 1.08.16 1.61.71 3.11 1.54 4.4 1.72-.83 2.99-2.45 3.32-4.4a9.008 9.008 0 0 1 3.73 4.4 9.08 9.08 0 0 1 .58 3.23c0 .5-.04.99-.12 1.47h-9.26c-.08-.48-.12-.97-.12-1.47 0-1.65.43-3.21 1.19-4.56-2.36-1.25-3.97-3.66-3.97-6.42C3.97 1.67 7.54.03 11.86 0A9.97 9.97 0 0 0 2 10c0 5.52 4.47 10 9.99 10 5.52 0 10.01-4.48 10.01-10 0-.34-.02-.67-.05-1h-4.86z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'football'">
      <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8zm-1-12.5l-1 3-3 1 3 1 1 3 1-3 3-1-3-1z"/>
    </svg>
    <!-- 更多运动图标 -->
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'baseball'">
      <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zM5.61 16.78C4.6 15.45 4 13.8 4 12s.6-3.45 1.61-4.78C7.06 8.31 8 10.05 8 12s-.94 3.69-2.39 4.78zM12 20c-1.89 0-3.63-.66-5-1.76 1.83-1.47 3-3.71 3-6.24s-1.17-4.77-3-6.24C8.37 4.66 10.11 4 12 4s3.63.66 5 1.76c-1.83 1.47-3 3.71-3 6.24s1.17 4.77 3 6.24c-1.37 1.1-3.11 1.76-5 1.76zm6.39-3.22C16.94 15.69 16 13.95 16 12s.94-3.69 2.39-4.78C19.4 8.55 20 10.2 20 12s-.6 3.45-1.61 4.78z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'tennis'">
      <path d="M19.51 3.08L3.08 19.51c.09.34.27.65.51.9.25.24.56.42.9.51L20.93 4.49c-.19-.69-.73-1.23-1.42-1.41zM12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'pingpong'">
      <circle cx="12" cy="12" r="8" fill="none" stroke="currentColor" stroke-width="2"/>
      <circle cx="12" cy="12" r="3" fill="none" stroke="currentColor" stroke-width="2"/>
      <path d="M18 2l4 4-4 4" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'badminton'">
      <path d="M7.5 12c.97 0 1.75-.78 1.75-1.75S8.47 8.5 7.5 8.5s-1.75.78-1.75 1.75S6.53 12 7.5 12zM3 22l1.5-5 3-3 5.5 5.5-3 3L5 22.5 3 22zM13 2v2c6.52 0 12 4.48 12 10h2c0-6.63-6.27-12-14-12z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'dumbbell'">
      <path d="M6.59 3.41L2 8l4.59 4.59c.63.63 1.71.18 1.71-.71V9.5h7v2.38c0 .89 1.08 1.34 1.71.71L22 8l-4.59-4.59c-.63-.63-1.71-.18-1.71.71v2.38h-7V4.11c0-.89-1.08-1.33-1.71-.7z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'swim-ring'">
      <path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/>
      <path d="M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0 8c-1.65 0-3-1.35-3-3s1.35-3 3-3 3 1.35 3 3-1.35 3-3 3z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'skateboard'">
      <path d="M13 3H4v3h9V3zM8 13h12v3H8v-3zm9-3h5v3h-5v-3zM4 8h12v3H4V8zm-3 8c0 1.66 1.34 3 3 3s3-1.34 3-3-1.34-3-3-3-3 1.34-3 3zm3-1c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1zm14-2c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3zm0 4c-.55 0-1-.45-1-1s.45-1 1-1 1 .45 1 1-.45 1-1 1z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'trophy'">
      <path d="M19 5h-2V3H7v2H5c-1.1 0-2 .9-2 2v1c0 2.55 1.92 4.63 4.39 4.94.63 1.5 1.98 2.63 3.61 2.96V19H7v2h10v-2h-4v-3.1c1.63-.33 2.98-1.46 3.61-2.96C19.08 12.63 21 10.55 21 8V7c0-1.1-.9-2-2-2zM7 10.82C5.84 10.4 5 9.3 5 8V7h2v3.82zM19 8c0 1.3-.84 2.4-2 2.82V7h2v1z"/>
    </svg>
    
    <!-- 美妆相关图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'makeup-brush'">
      <path d="M12 22C6.49 22 2 17.51 2 12S6.49 2 12 2s10 4.04 10 9-4.49 11-10 11zm0-18c-4.41 0-8 3.59-8 8s3.59 8 8 8c4.41 0 8-3.14 8-7s-3.59-9-8-9z"/>
      <path d="M13 6c-3.31 0-6 1.79-6 4s2.69 4 6 4 6-1.79 6-4-2.69-4-6-4z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'mirror'">
      <path d="M12 2c-5.33 0-9.6 4.27-9.6 9.6v10.4h19.2V11.6C21.6 6.27 17.33 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'cream'">
      <path d="M12 2C8.69 2 6 4.69 6 8v1h12V8c0-3.31-2.69-6-6-6zm-6 9v3c0 4.42 3.58 8 8 8s8-3.58 8-8v-3H6z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'comb'">
      <path d="M3 12v-2h2v2H3zm0 4v-2h2v2H3zm0-8V6h2v2H3zm4 4v-2h14v2H7zm0 4v-2h14v2H7zM7 6h14v2H7V6z"/>
    </svg>
    
    <!-- 厨具相关图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'bowl'">
      <path d="M22 12c0-5.52-4.48-10-10-10S2 6.48 2 12c0 3.69 2.47 6.86 6 8.25V22h8v-1.75c3.53-1.39 6-4.56 6-8.25zm-10 6c-3.31 0-6-2.69-6-6h12c0 3.31-2.69 6-6 6z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'chopsticks'">
      <path d="M15.5 2v20M18.5 2v20M8.5 2v7c0 .55.22 1.05.59 1.41C9.47 10.79 10 11 10.64 11c.29 0 .56-.06.81-.17.33-.15.8-.48.8-1.17v-4.2c0-.41.18-.78.46-1.04.29-.26.66-.42 1.08-.42H15"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'spoon'">
      <path d="M14.88 11.53c1.53-1.53 2.12-3.29 1.33-4.08-.8-.79-2.56-.2-4.09 1.32-.79.8-1.27 1.71-1.43 2.49l-4.41 4.41c-.2.2-.2.51 0 .71l1.77 1.77c.2.2.51.2.71 0l4.42-4.42c.78-.17 1.69-.65 2.48-1.44.2-.19.39-.38.56-.57-1 1.4-2.66 3.11-4.85 4.85-.23-.83-.6-1.66-1.11-2.42.48.13.91.38 1.25.72 1.32 1.32 1.67 3.01 1 4.69.64.23 1.27.5 1.86.85.84-2.37.12-5.48-2.48-8.09-2.08-2.08-4.53-3.19-6.65-3.19-1.46 0-2.73.58-3.46 1.78-.15.25-.26.51-.33.78-.09.32-.13.65-.13 1 0 1.94 1.29 4.08 3.56 6.36C6.9 19.99 10.31 22 13.75 22c.5 0 .99-.04 1.46-.12 3.38-.59 5.51-3.46 4.8-6.44-.11-.46-.28-.89-.49-1.29-2.11 1.66-4 2.72-4.7 3.03-.32-.65-.52-1.32-.6-1.96 1.01-.76 2.45-1.97 3.87-3.29-.49-.36-1.46-.89-2.34-1.03.49.05.95.13 1.37.27-.39-.21-.79-.42-1.24-.61z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'fork'">
      <path d="M11 9H9V2H7v7H5V2H3v7c0 2.12 1.66 3.84 3.75 3.97V22h2.5v-9.03C11.34 12.84 13 11.12 13 9V2h-2v7zm5-3v8h2.5v8H21V2c-2.76 0-5 2.24-5 4z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'kettle'">
      <path d="M9.5 3C4.81 3 1 6.81 1 11.5c0 1.53.4 2.96 1.1 4.2l1.74-1.45a7.432 7.432 0 0 1-.8-2.75H6v-1H3.04c.16-2.56 1.5-4.56 3.48-5.58L8 6.5V9h1V2H5.2c1.22-.68 2.59-1 4.3-1 4.42 0 8 3.58 8 8h2c0-5.52-4.48-10-10-10zm10 11c0 .55-.45 1-1 1h-1v7c0 .55-.45 1-1 1h-1c-.55 0-1-.45-1-1v-7h-6.79c.96.35 2.03.55 3.29.55 3.19 0 5.96-1.56 7.5-4.55z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'oven'">
      <path d="M4 21h16c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2zm16-2H4V5h16v14zM6 8h12v2H6V8zm0 6h12v2H6v-2z"/>
    </svg>
    
    <!-- 玩具相关图标 -->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'blocks'">
      <path d="M4 7h16v2H4V7zm0 4h16v2H4v-2zM4 3h16v2H4V3zm0 12h8v2H4v-2zm10 0h6v2h-6v-2zm-10 4h8v2H4v-2zm10 0h6v2h-6v-2z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'puzzle'">
      <path d="M20.5 11H19V7c0-1.1-.9-2-2-2h-4V3.5a2.5 2.5 0 0 0-5 0V5H4c-1.1 0-1.99.9-1.99 2v3.8H3.5c1.49 0 2.7 1.21 2.7 2.7s-1.21 2.7-2.7 2.7H2V20c0 1.1.9 2 2 2h3.8v-1.5c0-1.49 1.21-2.7 2.7-2.7 1.49 0 2.7 1.21 2.7 2.7V22H17c1.1 0 2-.9 2-2v-4h1.5a2.5 2.5 0 0 0 0-5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'rocket'">
      <path d="M12 2.5s4.5 2.04 4.5 10.5c0 2.49-1.04 5.57-1.6 7H9.1c-.56-1.43-1.6-4.51-1.6-7C7.5 4.54 12 2.5 12 2.5zm2 8.5c0-1.1-.9-2-2-2s-2 .9-2 2 .9 2 2 2 2-.9 2-2zm-6.31 9.52c-.48-1.23-1.52-4.17-1.67-6.87L4 15v7l3.69-1.48zM20 22v-7l-2.02-1.35c-.15 2.69-1.2 5.64-1.67 6.87L20 22z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'teddy-bear'">
      <path d="M12 8c3.31 0 6-2.69 6-6H6c0 3.31 2.69 6 6 6zm-2 8H7V8.86c1.72-.44 3.3-1.34 4.4-2.58.54.89 1.48 1.58 2.6 1.84V16h-3v2h5v2h-7v-4h1v-1.86c-1.44-.48-2.91-1.27-4-2.33V16zm13-6v4h-3v-1h1v-4h-1v-1h3v2z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'doll'">
      <path d="M12 2c1.1 0 2 .9 2 2s-.9 2-2 2-2-.9-2-2 .9-2 2-2zm4 18v-6h2.5l-3-9h-7l-3 9H8v6h8zM15 7l1.25 4h-8.5L9 7h6zm-4.17 6H12a7 7 0 0 1 7 7h-2a5 5 0 0 0-5-5v-2zm-4.5 7a5 5 0 0 0 5 5v2a7 7 0 0 1-7-7h2z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'drum'">
      <circle cx="12" cy="12" r="8" stroke="currentColor" stroke-width="2" fill="none"/>
      <path d="M12 4v16" stroke="currentColor" stroke-width="2"/>
      <path d="M20 12H4" stroke="currentColor" stroke-width="2"/>
      <path d="M4 8h16" stroke="currentColor" stroke-width="2"/>
      <path d="M4 16h16" stroke="currentColor" stroke-width="2"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'kite'">
      <path d="M14.5 4l-5 8 8 5-8-5-5 8 5-8-8-5 8 5z"/>
      <path d="M3 8V3h5M3 16v5h5"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'ball'">
      <circle cx="12" cy="12" r="10" fill="none" stroke="currentColor" stroke-width="2"/>
      <path d="M2 12h20" stroke="currentColor" stroke-width="2"/>
      <path d="M12 2v20" stroke="currentColor" stroke-width="2"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'yo-yo'">
      <circle cx="12" cy="12" r="6" fill="none" stroke="currentColor" stroke-width="2"/>
      <circle cx="12" cy="12" r="2" fill="none" stroke="currentColor" stroke-width="2"/>
      <path d="M12 4V2" stroke="currentColor" stroke-width="2"/>
      <path d="M12 22v-6" stroke="currentColor" stroke-width="2"/>
    </svg>
    
    <!-- 交通相关图标-->
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'bus'">
      <path d="M4 16c0 .88.39 1.67 1 2.22V20c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h8v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1.78c.61-.55 1-1.34 1-2.22V6c0-3.5-3.58-4-8-4s-8 .5-8 4v10zm3.5 1c-.83 0-1.5-.67-1.5-1.5S6.67 14 7.5 14s1.5.67 1.5 1.5S8.33 17 7.5 17zm9 0c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm1.5-6H6V6h12v5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'truck'">
      <path d="M20 8h-3V4H3c-1.1 0-2 .9-2 2v11h2c0 1.66 1.34 3 3 3s3-1.34 3-3h6c0 1.66 1.34 3 3 3s3-1.34 3-3h2v-5l-3-4zM6 18.5c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5zm13.5-9l1.96 2.5H17V9.5h2.5zm-1.5 9c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'taxi'">
      <path d="M18.92 6.01C18.72 5.42 18.16 5 17.5 5H15V3H9v2H6.5c-.66 0-1.21.42-1.42 1.01L3 12v8c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-1h12v1c0 .55.45 1 1 1h1c.55 0 1-.45 1-1v-8l-2.08-5.99zM6.85 7h10.29l1.08 3.11H5.77L6.85 7zM19 17H5v-5h14V17z"/>
      <circle cx="7.5" cy="14.5" r="1.5"/>
      <circle cx="16.5" cy="14.5" r="1.5"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'motorcycle'">
      <path d="M17.5 10c-.03 0-.05.01-.08.01C16.98 8.84 15.87 8 14.5 8c-.51 0-.98.13-1.41.36C12.78 7.57 11.7 7 10.5 7c-.95 0-1.81.35-2.5.88V3H5v6H3v12h3v-5h8c1.93 0 3.5-1.57 3.5-3.5S15.93 9 14 9c-.58 0-1.12.14-1.6.38-.21-.17-.4-.36-.57-.58.81-.69 1.86-1.12 3.02-1.12 1.3 0 2.47.57 3.29 1.47.43-.3.94-.48 1.5-.5.68-.03 1.3.21 1.8.57l1.5-1.04c-.76-.51-1.65-.81-2.61-.78-.28.01-.55.05-.81.11L19.83 6l-2.92 2.42c.27.39.49.82.64 1.28.52-.22 1.1-.34 1.7-.34L19.83 6l-2.33 2zM14 10.5c.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5H9c-.55 0-1-.45-1-1s.45-1 1-1h2.5v-1H9c-1.1 0-2 .9-2 2s.9 2 2 2h5c1.65 0 3-1.35 3-3s-1.35-3-3-3c-.82 0-1.57.34-2.12.88.7.16 1.39.6 1.79 1.11.18-.06.38-.09.58-.09z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'train'">
      <path d="M12 2c-4 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20v1h12v-1l-1.5-1c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zm0 14c-.83 0-1.5-.67-1.5-1.5S11.17 13 12 13s1.5.67 1.5 1.5S12.83 16 12 16zm5-6H7V6h10v4z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'airplane'">
      <path d="M22 16v-2l-8.5-5V3.5c0-.83-.67-1.5-1.5-1.5s-1.5.67-1.5 1.5V9L2 14v2l8.5-2.5V19L8 20.5V22l4-1 4 1v-1.5L13.5 19v-5.5L22 16z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'ship'">
      <path d="M20 21c-1.39 0-2.78-.47-4-1.32-2.44 1.71-5.56 1.71-8 0C6.78 20.53 5.39 21 4 21H2v2h2c1.38 0 2.74-.35 4-.99 2.52 1.29 5.48 1.29 8 0 1.26.65 2.62.99 4 .99h2v-2h-2zM3.95 19H4c1.6 0 3.02-.88 4-2 .98 1.12 2.4 2 4 2s3.02-.88 4-2c.98 1.12 2.4 2 4 2h.05l1.89-6.68c.08-.26.06-.54-.06-.78s-.34-.42-.6-.5L20 10.62V6c0-1.1-.9-2-2-2h-3V1H9v3H6c-1.1 0-2 .9-2 2v4.62l-1.29.42c-.26.08-.48.26-.6.5s-.15.52-.06.78L3.95 19zM6 6h12v3.97L12 8 6 9.97V6z"/>
    </svg>
    
    <svg xmlns="http://www.w3.org/2000/svg" :width="size" :height="size" viewBox="0 0 24 24" :fill="color" v-else-if="name === 'subway'">
      <path d="M12 2c-4.42 0-8 .5-8 4v9.5C4 17.43 5.57 19 7.5 19L6 20.5v.5h12v-.5L16.5 19c1.93 0 3.5-1.57 3.5-3.5V6c0-3.5-3.58-4-8-4zm0 14c-.83 0-1.5-.67-1.5-1.5S11.17 13 12 13s1.5.67 1.5 1.5S12.83 16 12 16zm5-6H7V6h10v4z"/>
    </svg>
  </div>
</template>

<script setup>
defineProps({
  name: {
    type: String,
    default: ''
  },
  size: {
    type: Number,
    default: 24
  },
  color: {
    type: String,
    default: 'currentColor'
  }
})
</script>

<style scoped>
.icon-svg {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

svg {
  width: 100%;
  height: 100%;
}
</style> 